This invention relates to computer communication and networking and in particular to a method of transmitting, on a synchronous transfer mode (ATM) network, a packet which is formed in accordance with a protocol different from ATM and to a network system for transmitting the packet.
Increasingly communication over Internet network has become widely prevalent. Use of internet is bound to significantly increase further in the future. It is well known in the art that a typical network can be logically considered to comprise several layers including physical layer, data link layer, network layer, transmission layer, etc. In each of these layers different communication protocols are used. The Internet Protocol (IP) is used to carry out data transmission at the network layer of the internet. A Transmission Control Protocol (TCP) is used at the transport layer.
A synchronous transfer mode (ATM) is a high performance transmission protocol that can process a great deal of multimedia information. In such an ATM protocol, all information to be transferred is arranged within cells that have fixed lengths of 53 octets. A cell is composed of two fields; an information field and a header field. The information field is 48 octet long and a header field of 5 octet long. A message longer than 53 octets is divided into a plurality of cells.
Importantly, the ATM protocol has two hierarchical levels; a virtual channel level and a virtual path level. The virtual channel is a unidirectional transfer channel of an ATM cell which is specified by a unique value of an identifier. The identifier is called a virtual channel identifier (VCI) and is located within the header field.
Likewise, the virtual path is a unidirectional transfer path to which each virtual channel belongs and is specified by a virtual path identifier (VPI) which is also located within the header field. In an ATM all the cells having the same virtual channel connection and virtual path connection (VCC/VPC) are transferred through the same route in the network. The order of transmission of the ATM cells is maintained in the VCC. As a corollary, the ATM cell transmitted first is also received first.
On the other hand, a conventional IP network is implemented using routers. A message is divided into packets that have variable lengths, unlike an ATM cell. Each router receives a packet and from the address it determines an output port to which the packet is to be delivered. Therefore, in order to determine the output port, a great deal of processing is required in each router. This processing causes a bottleneck in data transmission in an IP network, affecting the transmission speed.
There have been several techniques suggested to remove such a bottleneck. Some of these techniques are aimed at utilizing the higher transmission speeds offered by ATM networks.
One such techniques is disclosed in Japanese Patent Unexamined Publication No. Hei 8-125692, namely, 125692/1996 (hereinafter, Reference 1). This technique uses a cell switch router (abbreviated to CSR). According to this technique, the CSR does not do an IP table look-up to detect an output port, as is done by normal IP routers. Instead CSR observes a certain attribute of each IP packet and selects an output port related to the attribute. It then extracts a VCI previously determined for this output port. Thereafter, the CSR converts the packet into a sequence of ATM cells. Each of these cells are provided with header information corresponding to the pre-determined VCI and then transferred. Thus, the CSR transfers IP packet in a manner similar to the ATM switch.
Using this technique, one can avoid the step of searching for the output port. Accordingly, this technique enables high speed transfer operation in comparison with the conventional technique that uses an IP router.
Herein, in the above-mentioned example, it should be noted that there are two important operations. Conversion and transfer operation by converting a network address of an IP packet (or a packet formed in accordance with a protocol of a different layer) into a simple virtual channel will be called a cut-through or a short-cut operation. Likewise, mapping an attribute of the network layer or an upper layer onto a VCI will be referred to as binding.
In addition, a mode and a path of the cut-through operation will be named a cut-through mode and a cut-through path respectively. These are also called a switched mode and a switched path, respectively.
When CSR is used, bindings associated with each attribute need to be determined a priori. In order to enable the binding, ATM connection setup needs to be carried out by either a PVC (Permanent Virtual Channel) or an SVC (Switched Virtual Channel).
In the other conventional techniques, such as IPOA (IP over ATM) and MPOA (Multi-Protocol over ATM), a virtual connection is also established between an origination point and a destination point for cut-through operations each time a sequence of packets is transmitted.
The conventional techniques mentioned above are disadvantageous at least in the sense that PVC based system needs to allocate a large number of VCs depending on network size and the number of attributes to be selected. Therefore, a PVC based system lacks scalability.
Likewise, an SVC based system has a shortcoming that the establishment of connection contributes to overheads that eviscerates the advantages resulting from a cut-through operation when the network session using ATM is short.
One conventional way of solving above-mentioned is disclosed in WO97/28505 (hereinafter, Reference 2) Therein, each node in a network comprises an ATM switch that has an IP routing module connected to it. This IP module identifies IP packet flow. In this event, each IP packet flow is defined by a combination of a transmission source address of an IP packet, a destination address, a port number on the TCP protocol. This IP packet flow is used to define a sequence of packets which form a session. According to a new version, IP v 6 of the IP Protocol, a flow identifier is also defined.
In the method of Reference 2, a default VC is used to transmit a flow. The default VC represents a PVC previously defined to send the flow to the router module of the node in question. Thus far, this method is similar to the operation carried out in a normal IP. The only difference being that the packet is transferred in the form of ATM cells.
Each successive node monitors continuation of the flow and simultaneously carries out signaling between its two adjacent nodes, namely the upstream node and the downstream node in accordance with a local protocol. This local protocol is called a flow management protocol and is not standardized. In this protocol the downstream node sends a signal to the node in question that shows the assignment of a VCI to the flow. In responsive to this signal, the node in question switches the flow from the default VC to a VC indicated by the downstream node.
When similar processing is repeated in each node on a hop-by-hop basis and is completed in all of the nodes, the flow in question is transferred in the cut-through mode through the cut-through path.
In this method, each node operates as a usual router when a flow is of a short duration and operates using an SVC in the cut-through mode when the flow is continued for a comparatively long time. This method does not have the loss of efficiency that occurs in other conventional methods mentioned above. Herein, it is to be noted that in the method of Reference 2 a signaling protocol is run for a period of time between the nodes to establish a virtual connection. During this time each node is operated as a router.
During a multicast operation, an important aspect of the IP protocol, a substantial problem is noted in methods that carry out signaling between nodes. Multicast operation is used for simultaneously delivering a packet to a plurality of reception nodes. Such a multicast operation is performed using protocols like IP multicast protocol, also known as a dense mode PIM (Protocol Independent Multicast), a DVMRP (Distance Vector Multicast Routing Protocol), etc.
In such a conventional IP protocol, each transmission node transfers a multicast packet without recognizing reception nodes. Specifically, a connection for the multicast is established in the existing IP protocol after a reception node receives a first packets and returns a signal indicating the receipt.
In general, a network connection is completed when a connection request is issued from a transmission side and a reception side responds to the connection request and informs that the reception side can be connected. In other words, the network connection is completed when the transmission side receives acknowledgement from the reception side.
It can be clearly seen that it is impossible to establish a connection for the IP multicast prior to acknowledgement from each reception node in the path because each reception node is not known apriori to the transmission node.
In order to solve this problem, one conventional a system uses a MARS (Multicast ATM Routing Server) as a multicast server. In this system, all the multicast flows are sent from the transmission nodes to the server. The server detects each reception node in the path of each multicast flow and executes delivery of each multicast flow. It can be seen clearly that a heavy load is imposed on the server. Therefore, this approach is restricted to a network of a small size.
Another serious problem in a conventional cut-through technique is that a router mode can not be resumed once it shifts to a cut-through mode. In such a case, the point of introducing ATM technique as a means for operating the IP network at a high speed is lost. Because, such an operation results in deviating from the IP protocol permanently. Such a result is undesirable because conventional cut-through techniques can not cope with dynamic changes that characterize an IP network.
The problems in conventional systems that use cut-through techniques to realize a high speed operation on a native IP network by using ATM can be summarized as follows:
1) PVC based systems have a problem of reduced scalability.
2) SVC based systems that use signaling have difficulties with IP multicast.
3) There is no way to revert back to the router mode once cut-through mode is established.
It is therefore an object of this invention to provide a high speed switching method that overcomes the above problems.
It is a specific object of this invention to provide a network system which is available for packet transfer using not only an internet protocol but also a protocol substantially equivalent to the internet protocol.
It is another object of this invention to provide a network system of the type described, which does not require signaling between adjacent routers.
It is still another object of this invention to provide a high speed switching method which is applicable to an IP multicast as well as mobile IP.
It is a specific object of this invention to provide a method which is capable of transferring, at a high speed , a packet which corresponds to IP protocol, by transferring a control packet necessary for packet transfer control after establishment of a cut-through path.
It is a yet another object of this invention to provide a network system which is identical to an ATM network at the cell level and which is capable of carrying out both existing ATM cell exchange as well as fast IP packet transfer.
According to this invention, each node which is arranged in a network is structured by an IP routing module and an ATM switch and has a function of identifying a packet flow, like in Reference 2. However, this invention is completely different from Reference 2 in that a VC is set up by a first or an initial packet of a flow and a control packet and is sent to the routing module. The control packet is defined by an IP protocol and an upper protocol.
In this structure, the ATM switch hardware is used for high speed transport of packages but the network operates like a native IP network.
According to an aspect of this invention, a network system is operable in response to a packet flow which defines a single session and which is formed on the basis of a predetermined protocol, to transmit the packet flow through an ATM network to a destination. The ATM network converts the packet flow into a sequence of ATM cells and comprises a source for transmitting the sequence of the ATM cells by the use of an unused VCI (Virtual Channel Identifier) and a node each of which has a plurality of input ports and a plurality of output ports. Each of the nodes comprises a router for determining one of the output ports from information included in the ATM cells that carry a first packet of the packet flow and a mechanism to associate the determined one of the output ports with the unused VCI thus setting a switched path. The node further comprises an ATM switch for transporting the remaining ATM cells except the selected one of the ATM cells through the determined one of the output ports without control of the router when each of the remaining ATM cells has a VCI identical with the unused VCI.
According to another aspect of this invention, a method is for use in transmitting a connectionless packet between a source and a destination over an ATM network comprising at least one node that includes a packet router and an ATM switch connected to the packet router. The packet router has a lookup table while the ATM switch has a plurality of input ports, a plurality of output ports, and a routing table for identifying a plurality of VCIs. The method comprises the steps of:
a) initializing the routine table in the ATM switch so that an input VCI is mapped to the packet router connected to the ATM switch;
b) transferring a packet to the packet router connected to the ATM switch when the connectionless packet is transmitted from the source to the ATM switch on an unused VC;
c) identifying one of the output ports of the ATM switch by said pocket router in accordance with the above-mentioned packet and the lookup table placed in the packet router;
d) establishing a switched path at the ATM switch by mapping the input VCI onto the one of the output ports;
e) forwarding, simultaneously with the establishing step d), the packet to a downstream ATM through the one of the output ports by the use of an unused VCI on an output side of the ATM switch; and
f) repeating the steps c) to g) on a hop-by-hop basis until a switched path is established between the source and the destination to set up a virtual path between the source and the destination so that the following connection packet is allowed to pass through the switched path.